#ifndef LINKSTACK_H
#define LINKSTACK_H

#include <stdlib.h>

// 设计链表中节点信息
typedef struct LINKNODE {
    struct LINKNODE* next;
}LinkNode;

// 链式栈的起点信息
typedef struct LINKSTACK {
    LinkNode head;
    int size;
}LinkStack;

// 初始化
LinkStack* Init_LinkStack();

// 入栈
int Push_LinkStack(LinkStack* stack, LinkNode* data);

// 返回栈顶元素
LinkNode* Top_LinkStack(LinkStack* stack);

// 出栈
int Pop_LinkStack(LinkStack* stack);

// 返回栈区元素个数
int GetSize_LinkStack(LinkStack* stack);

// 清空栈
int Clear_LinkStack(LinkStack* stack);

// 销毁栈
int Destory_LinkStack(LinkStack* stack);

#endif
